package com.xmy.cultivate.entity.views;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xmy.cultivate.entity.OrderDetail;
import com.xmy.cultivate.entity.OrderPayAccount;
import com.xmy.cultivate.entity.OrderTransfer;
import com.xmy.cultivate.entity.OrderTransferDetail;
import com.xmy.cultivate.enums.ChargeModeEnum;
import com.xmy.cultivate.enums.OrderTypeEnum;
import com.xmy.cultivate.enums.StatusOrderApplyEnum;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * 交易列表
 */
@Data
public class ResTransaction {

    /**
     * id
     */
    private Long id;

    private Long order_id;

    /**
     * 状态：0无，1确认到账，2订单作废
     */
    private StatusOrderApplyEnum status;

    private OrderTypeEnum orderType;

    private Long schoolId;

    private String courseName;

    private Long subjectsId;

    private String subjectsName;

    private String gradeName;

    private String coursePriceName;

    private Integer count;

    /**
     * 应收金额
     */
    private BigDecimal price;

    /**
     * 实收金额
     */
    private BigDecimal solidPrice;

    /**
     * 欠费金额
     */
    private BigDecimal ownPrice;

    private BigDecimal outPrice;

    private BigDecimal discountsPrice;

    /**
     * 经办日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate handleDate;

    /**
     * 经办人
     */
    private Long handlePersonId;

    private String handlePersonName;

    /**
     * 订单号
     */
    private String orderNo;

    /**
     * 收据编号
     */
    private String receiptNo;

    private String outerRemark;

    private String innerRemark;

    private String studentName;

    /**
     * 收费模式，1按课时收费，2按时间收费，3按期收费（对应字典表）
     */
    private ChargeModeEnum chargeMode;

    /**
     * 支付类型帐号信息
     */
    private List<OrderPayAccount> orderPayAccountList;
}
